package cn.edu.lingnan.service.impl;

import cn.edu.lingnan.common.Constants;
import cn.edu.lingnan.entity.dto.ContestDTO;
import cn.edu.lingnan.entity.Contest;
import cn.edu.lingnan.exception.ServiceException;
import cn.edu.lingnan.mapper.ContestMapper;
import cn.edu.lingnan.service.IContestService;
import cn.hutool.log.Log;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class ContestServiceImpl extends ServiceImpl<ContestMapper, Contest> implements IContestService {
    private static final Log LOG = Log.get();

    // @Resource
    // private AdminUserMapper adminUserMapper;

    @Resource
    private ContestMapper contestMapper;

    // @Override
    // public Page<Contest> findPage(Page<Contest> page, String contestName, String contestType) {
    //     return contestMapper.findPage(page,contestName,contestType );
    // }

    // private Contest getContestInfo(ContestDTO contestDTO) {
    //     QueryWrapper<Contest> queryWrapper = new QueryWrapper<Contest>();
    //     queryWrapper.eq("contest_name", contestDTO.getContestName());
    //     queryWrapper.eq("contest_type", contestDTO.getContestType());
    //     Contest one;
    //     try {
    //         one = getOne(queryWrapper); // 从数据库查询用户信息
    //         // 构建查询条件，然后在数据库中执行查询操作，并返回符合查询条件的一条记录。如果查询到多条记录，通常只返回第一条记录。
    //     } catch (Exception e) {
    //         LOG.error(e);
    //         throw new ServiceException(Constants.CODE_500, "系统错误");
    //     }
    //     return one;
    // }

    // @Transactional
    // @Override
    // public void setContest(String contestName, String contestType, String contestRule, Date contestStartTime, Date contestEndTime, String contestDescription, BigInteger contestRootId, String contestRootName) {
    //     contestMapper.deleteContest(id);
    //     contestMapper.setContest(contestName,contestType,contestRule,contestStartTime,contestEndTime,contestDescription,contestRootId,contestRootName);
    // }

    // public boolean saveContest(Contest contest){
    //     boolean save = save(contest);
    //     return false;
    // }

    private Contest getContestInfo(ContestDTO contestDTO) {
        QueryWrapper<Contest> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("contest_name", contestDTO.getContestName());
        queryWrapper.eq("contest_type", contestDTO.getContestType());
        Contest one;
        try {
            one = getOne(queryWrapper); // 从数据库查询用户信息
        } catch (Exception e) {
            LOG.error(e);
            throw new ServiceException(Constants.CODE_500, "系统错误");
        }
        return one;
    }



}
